Rocksdb 的一些参数调优策略 |
您所在的位置:网站首页 › java -jar 参数配置 › Rocksdb 的一些参数调优策略 |
文章目录
写性能优化CF write buffer sizeDB write buffer size
读性能优化block cachebloom filterCompression 压缩
Compaction优化通用workload的配置
本文在rocksdb 整个读写链路基础上给出一些简单的调优策略,主要是通过调整一些 参数来满足我们大多数workload的性能需求。
更详细的源代码分析暂不涉及,一部分调优机制的源代码分析之前的部分文章中已经有过描述,需要的话会在文中提及。6.4及以上版本的实现中有超过200个参数,对于大多数使用rocksdb的同学来说实在是负担太重,想要通过分析源代码来明确每一个参数的深层含义以及在不同workload下的其表现最优的值显然是不可能的,所以只需要明确核心链路的可优化点即可。 通过本文,能够清楚 读写性能调优,compaction的核心调优,通用的优化配置。 写性能优化我们知道rocksdb是基于LSM架构的单机存储引擎,其拥有高效的写吞吐。为了保证一致性,整个写入链路会先写WAL,再写memtale即可返回。其中WAL如果开了sync,则需要走一次I/O ,memtable是一个内存数据结构,通常是跳表实现的,基本属于CPU计算。后续数据在memtable的罗盘则通过异步的flush来进行。 wal的写入无法避免,写入参数上的优化就主要集中在写memtable上了。 rocksdb提供了write buffer size的配置,即单个memtable能够接受的最大写入量,并且提供了可以设置每一个DB/ColumnFamily 的写缓存配置。 CF write buffer sizecf_options.write_buffer_size = 64 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |